Encoding and decoding apparatuses and methods for implementing multi-mode coding

ABSTRACT

Encoding and decoding apparatuses and methods for implementing multi-mode coding are provided. The apparatus includes a transmitter and a receiver connected to a data bus. When data bursts are converted by the transmitter into codewords each including a plurality of symbols and/or a codeword received by the receiver is recovered as data bursts, maximum transition avoidance (MTA) codeword mappings in which no maximum transition (MT) event occurs between the plurality of symbols and minimum DC current (MDC) codeword mappings related to minimum power consumption of the plurality of symbols are used.

CROSS-REFERENCE TO RELATED APPLICATIONS

This U.S. non-provisional patent application claims priority under 35U.S.C. § 119 to Korean Patent Application Nos. 10-2021-0031487,10-2021-0059510, and 10-2021-0174016, filed on Mar. 10, 2021, May 7,2021, and Dec. 7, 2021, in the Korean Intellectual Property Office, thedisclosures of which are incorporated by reference in their entiretyherein.

1. Technical Field

The inventive concept relates to encoding and decoding for implementingmulti-mode coding to support maximum transition avoidance and/or minimumpower consumption.

2. Discussion of Related Art

Ethernet is a family of computer networking technologies that is mostwidely used in local area network (LAN), metropolitan area networks(MAN) and wide area networks (WAN). Data sent across Ethernet may beencoded using schemes such as Non-Return-to-Zero (NRZ) signaling andPulse-Amplitude Modulation 4-Level (PAM-4) signaling. NRZ signaling is amodulation technique that has two voltage levels to represent logic 0and logic 1. PAM-4 signaling uses four voltage levels to represent fourdifferent two-bit logical levels (e.g., 11, 10, 01, 00).

PAM-4 signaling has become more viable since NRZ signaling has a higherNyquist frequency, which results in a higher channel-dependent loss.PAM-4 signaling may be used to convert a 2-bit stream into a singlemulti-level signal having 4 levels. A PAM-4 signaling system may usemaximum transition avoidance (MTA) coding to handle a maximum voltagetransition between PAM-4 symbols. MTA coding may reduce inter-symbolinterference (ISI) and crosstalk that causes signal distortion.

SUMMARY

At least one embodiment the inventive concept provides encoding anddecoding apparatuses and methods for implementing multi-mode coding tosupport maximum transition avoidance and/or minimum power consumptionselectively or in combination.

According to an embodiment of the inventive concept, there is providedan apparatus including a transmitter connected to a data bus. Thetransmitter includes an encoder configured to convert data bursts to betransmitted through a data bus into codewords each including a pluralityof symbols. The encoder is configured to encode the data bursts into acodeword corresponding to the data bursts using maximum transitionavoidance (MTA) codeword mappings in which no maximum transition (MT)event occurs between the plurality of symbols and minimum DC current(MDC) codeword mappings related to minimum power consumption of theplurality of symbols.

According to an embodiment of the inventive concept, there is providedan apparatus including a transmitter connected to a data bus. Thetransmitter includes an encoder configured to convert data bursts to betransmitted through the data bus into codewords including a plurality ofsymbols. The encoder includes a logic circuit and an encoder circuit.The logic circuit represents correlations between the data bursts andthe codewords. The logic circuit includes codeword mappings related tooperation requirements of the encoder. The operation requirements of theencoder include a maximum transition avoidance (MTA) requirement betweenthe plurality of symbols and a minimum DC current (MDC) requirementrelated to minimum power consumption of the plurality of symbols. Theencoding circuit is configured to provide the codeword corresponding tothe data bursts to the data bus using the logic circuit.

According to an embodiment of the inventive concept, there is providedan encoding method of converting data into codewords including setting aweighting value indicating operation requirements of an encoding,wherein the operation requirements include a maximum transitionavoidance (MTA) requirement between the plurality of symbols and aminimum DC current (MDC) requirement related to minimum powerconsumption of the plurality of symbols; calculating an encoding costvalue with respect to each of 2n codewords including n-bits using theweighting value, wherein the codewords include the plurality of symbols,and the encoding cost value is calculated based on an average value ofMT events between the plurality of symbols and an average power costvalue of the plurality of symbols with respect to all the 2^(n)codewords, a number of MT events of each of the 2^(n) codewords, a sumof power cost values and the weighting value; selecting 2^(n-p)codewords having a low encoding cost value from among the 2^(n)codewords; and mapping the selected 2^(n-p) codewords to the data. Thedata is n−p bits, n and p are natural numbers and n is greater than p.

According to an embodiment of the inventive concept, there is provided amethod of transmitting data including receiving data bursts of 16-bitsto be transmitted through a data line; splitting the data bursts intotwo half-data bursts; sending a 1-bit value of each of the two half-databursts to a data bus inversion (DBI) signal line to encode a pair of1-bit values into a symbol of the DBI signal line; performing 7:8-bitencoding on remaining 7-bits of each of the two half-data bursts togenerate codewords including four symbols having at least four levels;determining whether a maximum transition (MT) event occurs between alast symbol of a previous codeword provided through the data bus and afirst symbol of a current codeword in a block boundary between thecodewords with respect to the half-data bursts; when it is determinedthat the MT event occurs, inverting the current codeword andtransmitting the inverted codeword through the data line; and when it isdetermined that no MT event occurs, transmitting the current codewordthrough the data line.

According to an embodiment of the inventive concept, there is providedan apparatus including a receiver connected to a data bus. The receiverincludes a decoder configured to receive codewords including a pluralityof symbols through the data bus, and recover data bursts from thereceived codewords. The decoder is configured to decode the codewordsinto the data bursts corresponding to the codewords using maximumtransition avoidance (MTA) codeword mappings in which no maximumtransition (MT) event occurs between the plurality of symbols andminimum DC current (MDC) codeword mappings related to minimum powerconsumption of the plurality of symbols.

According to an embodiment of the inventive concept, there is providedan apparatus including a receiver connected to a data bus. The receiverincludes a decoder configured to receive codewords including a pluralityof symbols through the data bus, and recover data bursts from thereceived codewords. The decoder includes a logic circuit and a decodingcircuit. The logic circuit represents correlations between the codewordsand the data bursts. The logic circuit includes codeword mappingsrelated to operation requirements of the decoder. The operationrequirements of the decoder include a maximum transition avoidance (MTA)requirement between the plurality of symbols and a minimum DC current(MDC) requirement related to minimum power consumption of the pluralityof symbols. The decoding circuit is configured to determine whether acurrent codeword among the codewords received by the decoder is aninverted codeword, and recover a data burst from the current codewordusing lookup tables.

According to an embodiment of the inventive concept, there is provided amethod of receiving data including receiving, through a data line,codewords of 8-bits including four symbols having at least four levels;determining whether a current codeword among the codewords receivedthrough the data line is an inverted codeword; when it is determinedthat the current codeword is the inverted codeword, inverting thecurrent codeword and outputting the inverted codeword as a firstcodeword; when it is determined that the current codeword is not theinverted codeword, outputting the current codeword as the firstcodeword; converting 8-bits of the first codeword into data bursts of7-bits by performing 8:7-bit decoding on 8-bits of the first codeword;and combining the 7-bits converted by the 8:7-bit decoding with a 1-bitvalue of a symbol received through a data bus inversion (DBI) signalline to recover data bursts of 8-bits.

BRIEF DESCRIPTION OF THE DRAWINGS

Embodiments of the inventive concept will be more clearly understoodfrom the following detailed description taken in conjunction with theaccompanying drawings in which:

FIG. 1 is a block diagram illustrating an apparatus including atransmitter and a receiver according to an example embodiment of theinventive concept;

FIG. 2 is a diagram illustrating 7-8 bit encoding used in apulse-amplitude modulation (PAM)-4 encoder according to an embodiment ofthe inventive concept;

FIG. 3 is a diagram illustrating an example of a logic circuit of aPAM-4 encoder of FIG. 1 ;

FIGS. 4A and 4B are diagrams illustrating codeword encoding of a commonlookup table of FIG. 3 ;

FIGS. 5A and 5B are diagrams illustrating codeword encoding of a maximumtransition avoidance (MTA) lookup table of FIG. 3 ;

FIGS. 6A and 6B are diagrams illustrating codeword encoding of a lowminimum current (MDC) lookup table of FIG. 3 ;

FIG. 7 is a diagram of another example illustrating a logic circuit ofthe PAM-4 encoder of FIG. 1 ;

FIGS. 8A and 8B are diagrams illustrating codeword encoding of a firstintermediate lookup table of FIG. 7 ;

FIGS. 9A and 9B are diagrams illustrating codeword encoding of a secondintermediate lookup table of FIG. 7 ;

FIG. 10 is a diagram illustrating a codeword implementation methodapplied to lookup tables of the PAM-4 encoder of FIGS. 3 and 7 ;

FIG. 11 is a circuit diagram illustrating the PAM-4 encoder of FIG. 1 ;

FIGS. 12A and 12B are diagrams illustrating a codeword inversion schemein a boundary block according to an embodiment of the inventive concept;

FIG. 13 is a flowchart illustrating an operation method of a PAM-4encoder according to an embodiment of the inventive concept;

FIG. 14 is a circuit diagram illustrating a PAM-4 decoder according toan embodiment of the inventive concept;

FIG. 15 is a flowchart illustrating an operation method of a PAM-4decoder according to an embodiment of the inventive concept;

FIGS. 16A and 16B are diagrams conceptually illustrating a symmetric ODTcircuit in relation to a transmitter and a receiver according to anembodiment of the inventive concept;

FIG. 17 is a diagram illustrating symbols of a codeword applied to aground voltage ODT target between the transmitter and the receiver ofFIG. 16A;

FIGS. 18A and 18B are diagrams conceptually illustrating an asymmetricODT circuit in relation to a transmitter and a receiver according to anembodiment of the inventive concept;

FIG. 19A is a diagram illustrating an operation of a sign inversion partof FIG. 18 ;

FIG. 19B is a diagram illustrating symbols of a codeword applied to apower voltage ODT target between a transmitter and a receiver;

FIG. 20 is a block diagram of a first example of a memory systemincluding an encoding and decoding apparatus according to an embodimentof the inventive concept;

FIG. 21 is a block diagram of a part of the memory system of FIG. 20 ;

FIG. 22 is a block diagram of a second example of a memory systemincluding an encoding and decoding apparatus according to an embodimentof the inventive concept; and

FIG. 23 is a block diagram of a first example of a system including anencoding and decoding apparatus according to an embodiment of theinventive concept.

DETAILED DESCRIPTION OF THE EMBODIMENTS

FIG. 1 is a block diagram illustrating an apparatus 100 including atransmitter 110 and a receiver 120 according to an example embodiment ofthe inventive concept.

Referring to FIG. 1 , the apparatus 100 may refer to an integratedcircuit, an electronic device or system, a smart phone, a tabletpersonal computer (PC), a computer, a server, a workstation, a portablecommunication terminal, a personal digital assistant (PDA), a portablemultimedia player (PMP), a computing device such as other suitablecomputers, a virtual machine or a virtual computing device thereof, etc.Alternatively, the apparatus 100 may be one of a plurality of componentsincluded in a computing system such as a graphics card.

The transmitter 110 may communicate with the receiver 120 through achannel 130. The channel 130 may include a plurality of signal linesthat physically or electrically connect the transmitter 110 to thereceiver 120. The transmitter 110, the receiver 120, and the channel 130may support pulse-amplitude modulation 4-level (PAM-4) signaling thatconverts 2 bit data streams into a single multi-level signal having 4levels.

The transmitter 110 may include a PAM-4 encoder 112 that converts databursts to be transmitted to the receiver 120 into PAM-4 symbols. ThePAM-4 encoder 112 may perform encoding on the data bursts to generatePAM-4 symbols. The transmitter 110 may further include an output buffer116 and a termination circuit 118 for driving the PAM-4 symbols to thechannel 130. The transmitter 110 may transmit the PAM-4 symbols to thereceiver 120 through the channel 130.

The PAM-4 encoder 112 may include a logic circuit 114 including multiplelookup tables 905 (see FIG. 11 ) configured to implement multi-modecoding. The lookup tables may be implemented as registers (or storageelements) that store correlations between the data bursts and the PAM-4symbols. The PAM-4 encoder 112 may convert the data bursts into thePAM-4 symbols using the lookup tables.

The PAM-4 symbols may be transmitted from the output buffer 116 to thechannel 130. The termination circuit 118 may adjust a terminationresistance value to provide impedance matching with respect to thechannel 130. When an output impedance of the transmitter 110 and animpedance of a receiving end do not match, signal reflection is inducedat the receiving end and the reflected signal is not transmittedproperly, so that a voltage level at the receiving end is changed, andsignal transmission may not be performed properly. By suppressing signalreflection by impedance matching of the channel 130, signal integrity oftransmitted and received signals may be improved.

According to an embodiment, a calibration command may instruct thetermination circuit 118 to calibrate the impedance. For example, thetransmitter 110 may send the calibration command to the terminationcircuit 118. According to an embodiment, the termination circuit 118 maybe an on-die-termination (ODT) circuit that provides a terminationresistance to the channel 130 based on a ZQ calibration code generatedin a calibration operation related to an impedance adjustment pin (e.g.,a ZQ pin) connected to an external resistance. In FIG. 1 , thetermination circuit 118 is shown as being independent of the outputbuffer 116, but an ODT operation may be performed by at least a part ofthe output buffer 116. Accordingly, the output buffer 116 and thetermination circuit 118 may be coupled to adjust a swing width and/ordriving strength of signals transmitted to the channel 130 and provide atermination resistance to the channel 130.

The receiver 120 may include a PAM-4 decoder 122 that receives the PAM-4symbols and decodes the received PAM-4 symbols. The PAM-4 decoder 122may decode the PAM-4 symbols to recover data bursts of 2-bit streams.The receiver 120 may further include an input buffer 126 and atermination circuit 128 receiving the PAM-4 symbols on the channel 130.The receiver 120 may receive the PAM-4 symbols through the channel 130and reconstruct the PAM-4 symbols into data bursts.

The PAM-4 decoder 122 may include a logic circuit 124 including multiplelookup tables 1305 (see FIG. 13 ) configured to decode the PAM-4 symbolsto recover data bursts of 2-bit streams. The lookup tables show thecorrelation between the PAM-4 symbols and the data bursts. The PAM-4decoder 122 may recover the PAM-4 symbols into the data bursts using thelookup tables. The lookup tables of the PAM-4 decoder 122 may beconfigured the same as the lookup tables of the PAM-4 encoder 112.

The input buffer 126 may receive PAM-4 symbols through the channel 130.The termination circuit 128 may provide a termination resistance withrespect to the channel 130. According to an embodiment, the terminationcircuit 128 may be an on-die-termination (ODT) circuit. According to anembodiment, the input buffer 126 may receive a signal transmitted to thechannel 130 based on a reference voltage.

FIG. 2 is a diagram illustrating 7-8 bit encoding 200 used in the PAM-4encoder 112 of FIG. 1 .

Referring to FIG. 2 , the 7-8 bit encoding 200 of user data 202 togenerate encoded data 204 is shown. The user data 202 may be referred toas raw data. With respect to the user data 202 and the encoded data 204,each row DQ[i] represents a serial data line.

In the user data 202, 16-bit data bursts are configured on each DQ[i]serial data line, and columns are configured as sequential 2-bitpositions within the 16-bit data bursts. For example, second and thirdbits of each data burst are denoted by a column labeled d[2:3]. Each16-bit data burst is denoted by two half-data bursts of 8 bits. Forexample, on the serial data line DQ[0], the 16-bit data burst splitsinto a first half-data burst d0[0]d0[7:1] and a second half-data burstd0[8]d0[15:9]. Each half-data burst further splits into 1-bit:7-bitpairs. For example, on the serial data line DQ[0], the first half-databurst d0[0]d0[7:1] splits into a 1-bit value of d0[0] and a 7-bit valueof d0[7:1].

In the encoded data 204, DQ[i] rows represent serial data lines, a databus inversion (DBI) row represents a DBI signal line, and columnsrepresent bit columns representing symbols (s[i]). For example, s[0]represents a first 2-bit PAM4 symbol on each serial data line, and s[1]represents a second 2-bit PAM4 symbol.

The 7-8 bit encoding 200 may encode a pair of 1-bit data values of otherserial data lines as PAM-4 symbols on the DBI signal line. For example,data d0[0] of the serial data line DQ[0] and data d1[0] of a serial dataline DQ[1] are encoded as 2-bit PAM-4 symbols on the DBI signal line.Similarly, data d2[0] of a serial data line DQ[2] and data d3[0] of aserial data line DQ[3] are encoded as 2-bit PAM-4 symbols on the DBIsignal line.

According to an embodiment, in the 7-8 bit encoding 200, the 2-bit PAM-4symbol on the DBI signal line may encode a pair of 1-bit data values ofany bit position of one serial data line as PAM-4 symbols on the DBIsignal line. For example, data d0[0] and d0[8] on the serial data lineDQ[0] may be encoded as the 2-bit PAM-4 symbols on the DBI signal line,and data d1[0] and d1[8] on the serial data line DQ[1] may be encoded asthe 2-bit PAM-4 symbols on the DBI signal line.

In the 7-8 bit encoding 200, the remaining 7 bits that are not used asthe PAM-4 symbols of the DBI signal line of each half-data burst areencoded as four PAM-4 symbols on the corresponding serial data line. Thefour PAM-4 symbols include 8 bits and may be referred to as a codeword.For example, data d0[7:1] is encoded as a codeword c0[7:0] on the serialdata line DQ[0]. A codeword with respect to 7 bits of each of the datad0[7:1] may be denoted by four PAM-4 symbols. The data d0[7:1] isencoded as a codeword c0[7:0] including symbols s[0], s[1], s[2] ands[3].

In the 7-8 bit encoding 200, between a codeword ci[7:0] with respect to7 bits of the first half-data burst and a codeword ci[15:8] with respectto 7 bits of the second half-data burst on each DQ[i] serial data linemay be referred to as a block boundary (BB). A codeword inversion scheme(FIGS. 12A and 12B) may be applied to the boundary block BB to prevent amaximum transition (MT) event between a last symbol of a currentcodeword and a first symbol of a next codeword.

Mapping of 7-bit data values to codewords may be performed in variousways according to encoding operation requirements and stored as lookuptables (see FIGS. 3A and 3B). The encoding operation requirements mayinclude MTA between PAM-4 symbols, minimum DC current (MDC) related tominimum power consumption of the transmitter 110 (FIG. 1 ), or acombination of MTA and MDC, etc. The lookup tables may be configured toselect 128 patterns required for 7-bit encoding of user data from among256 patterns according to 8-bit encoding of four PAM-4 symbols s[0],s[1], s[2] and s[3] and provide codewords of the selected 128 patterns.

Hereinafter, mapping between PAM-4 symbols and symbol bits configured tosupport MTA and/or MDC requirements will be described based on Table 1below. Table 1 is a non-limiting example for illustrative purpose.

TABLE 1 PAM-4 Symbol Levels −3 −1 +1 +3 symbol bits 00 01 11 10 currentlevel 0 5VDD/18 8VDD/18 9VDD/18 DC power cost 0  5  8  9

Referring to Table 1, the 2-bit PAM-4 symbol may be transmitted on thechannel 130 (see FIG. 1 ) at four symbol levels denoted as level −3, −1,+1 or +3 (or a −3 level, a −1 level, a +1 level, or a +3 level). Each ofthe four symbol levels may have four current levels by the output buffer116 (FIG. 1 ). For example, the PAM-4 symbol of level +3 (or a +3 level)is represented by symbol bit 10 and may be set to have the highestcurrent level, e.g., 9 VDD/18 current level. The PAM-4 symbol of level+1 (or a +1 level) is represented by symbol bit 11 and may be set tohave an 8 VDD/18 current level. The PAM-4 symbol of level −1 (or a −1level) is represented by symbol bit 01 and may be set to have a 5 VDD/18current level. The PAM-4 symbol of level −3 (or a −3 level) isrepresented by symbol bit 00 and may be set to have the lowest zero (0)current level. Accordingly, the PAM-4 symbol of level +3 may berepresented as having the highest DC power cost value of 9, the PAM-4symbol of level +1 may be represented as having a DC power cost value of8, the PAM-4 symbol of level −1 may be represented as having a DC powercost value of 5, and the PAM-4 symbol of level −3 may be represented ashaving the lowest DC power cost value of 0.

FIG. 3 is a diagram illustrating an example of a logic circuit 114 a ofthe PAM-4 encoder 112 of FIG. 1 . The logic circuit 114 a of FIG. 3 maybe used to implement the logic circuit 114 of FIG. 1 . FIGS. 4A and 4Bare diagrams illustrating codeword encoding of a common lookup table 301of FIG. 3 . FIGS. 5A and 5B are diagrams illustrating codeword encodingof an MTA lookup table 302 of FIG. 3 . FIGS. 6A and 6B are diagramsillustrating codeword encoding of an MDC lookup table 305 of FIG. 3 .Hereinafter, subscripts (e.g., a in 114 a and b in 114 b) attached tothe reference numerals are used to distinguish a plurality of circuitshaving the same function.

Referring to FIG. 3 , the logic circuit 114 a of the PAM-4 encoder 112may include the common lookup table 301, the MTA lookup table 302, andthe MDC lookup table 305. The common lookup table 301 may includecodeword mappings that support both an MTA requirement and an MDCrequirement. The MTA lookup table 302 may include codeword mappings thatsupport the MTA requirement. The MDC lookup table 305 may includecodeword mappings that support the MDC requirement.

In order to satisfy both the MTA requirement and the MDC requirement, asshown in FIG. 4A, in the common lookup table 301, no PAM-4 symbol oflevel +3 having the highest voltage level needs to be present in acodeword. The common lookup table 301 may include codewords (3*3*3*3=81)according to symbol encoding 401 of level −3, −1 or +1 in the symbolss[0], s[1], s[2], and s[3] of each codeword, as shown in FIG. 4B.Accordingly, the common lookup table 301 may include 81 codewords.

Because the common lookup table 301 includes the 81 codewords, in orderto provide 128 codewords for the 7-8 bit encoding 200, each of the MTAlookup table 302 and MDC lookup table 305 may be implemented to include47 codewords. The PAM-4 encoder 112 may select one of the MTA lookuptable 302 and the MDC lookup table 305, and perform the 7-8 bit encoding200 using 128 codewords which is the sum of the 47 codewords of theselected lookup table and the 81 codewords of the common lookup table301.

The MTA lookup table 302 may include codeword mappings that support anentire MTA requirement. The MTA lookup table 302 may be provided tosatisfy the entire MTA requirement that no MT event occurs from level −3to level +3 or from level +3 to level −3 between symbols in eachcodeword, and no MT event occurs even in a boundary block BB, as shownin FIG. 5A. That is, the MTA lookup table 302 may be provided to satisfythe MTA requirement both between symbols in each codeword and even inthe boundary block BB. The MTA lookup table 302 may include codewordsaccording to multiple symbol encodings 501 to 506 in the symbols s[0],s[1], s[2], and s[3] of each codeword, as shown in FIG. 5B. The symbolencodings 501 to 506 may be performed to include at least one symbol oflevel 3 in a codeword and to satisfy the MTA requirement between symbolsand in the boundary block BB.

For example, the symbol encodings 501 to 503 may provide codewords inwhich the first symbol s[0] is not level +3 and includes at least onesymbol of level −3. The symbol encoding 501 may provide twelve codewords(2*1*2*3=12) configured such that there is no MT event between symbolswhen the second symbol s[1] is level +3. The symbol encoding 502 mayprovide codewords 12 (3*2*1*2=12) configured such that there is no MTevent between symbols when the third symbol s[2] is level +3. The symbolencoding 503 may provide twelve codewords (2*3*2*1=12) configured suchthat there is no MT event between symbols when the fourth symbol s[3] islevel +3. The symbol encodings 504 to 506 may provide codewords in whichthe first symbol s[0] is not level −3 and level +3 and includes at leastone symbol of level +3. The symbol encoding 504 may provide fourcodewords (2*1*1*2=4) configured such that there is no MT event betweensymbols when the first symbol s[0] is level +1 or level −1. The symbolencoding 505 may provide six codewords (1*3*2*1=6) configured such thatthere is no MT event between symbols when the first symbol s[0] is level+1. In addition, the symbol encoding 506 may provide one codeword(1*1*1*1=1) configured such that there is no MT event between symbolswhen the first symbol s[0] is level −1. Accordingly, the MTA lookuptable 302 may include forty-seven codewords (12+12+12+4+6+1=47)according to the symbol encodings 501 to 506.

According to an embodiment, the MTA lookup table 302 may be configuredto adaptively provide corresponding codewords according to an ODT stateof a ground voltage VSS or a supply voltage VDD between a transmitter110 a and a receiver 110 b which will be described with reference toFIGS. 16A and 16B. For example, the MTA lookup table 302 may include afirst table including codewords including several symbols of level −3corresponding to an ODT target of the ground voltage VSS and a secondtable including codewords including several symbols of level +3corresponding to an ODT target of the supply voltage VDD.

The MDC lookup table 305 may include codeword mappings that maximallysupport the MDC requirement. The MDC lookup table 305 may be provided tomaximally satisfy the MDC requirement by allowing the MT event betweensymbols up to a maximum of two times in each codeword, as shown in FIG.6A. The MDC lookup table 305 may provide at least two codewordsincluding level −3 having the lowest DC power cost as the MT event isallowed up to a maximum of two times. Accordingly, the MDC lookup table305 may satisfy the MDC requirement to a relatively maximum extent.

The MDC lookup table 305 may include codewords according to multiplesymbol encodings 801 to 804 in the symbols s[0], s[1], s[2], and s[3] ofeach codeword, as shown in FIG. 6B. The symbol encodings 801 to 804 mayinclude at least one symbol of level +3 by including at least twosymbols of level −3 in a codeword and allowing the MT event betweensymbols up to a maximum of two times. Accordingly, the MT event betweensymbols may be present two times or one time in the codewords accordingto the symbol encodings 801 to 804.

For example, symbol encoding 801 may provide twelve codewords(2*1*3*2=12) configured such that the MT event is present two timesbetween the first symbol s[0] and the second symbol s[1] and between thesecond symbol s[1] and the third symbol s[2], i.e., before and after thesecond symbol s[1], when the second symbol s[1] is level +3. The symbolencoding 802 may provide twelve codewords (2*3*1*2=12) configured suchthat the MT event is allowed two times before and after the third symbols[2] when the third symbol s[2] is level +3. The symbol encoding 803 mayprovide twelve codewords (2*2*3*1=12) configured such that the MT eventis present one time between the third symbol s[2] and the fourth symbols[3] when the fourth symbol s[3] is level +3. The symbol encoding 804may provide twelve codewords (1*3*2*2=12) configured such that the MTevent is present one time between the first symbol s[0] and the secondsymbol s[1] when the first symbol s[0] is level +3. The symbol encoding804 may provide codewords (12−1=11) obtained by subtracting any one of12 codewords, e.g., a codeword in which the symbols s[0], s[1], s[2] ands[3] are {3, 2, 2, 1}. Accordingly, the MDC lookup table 305 may includeforty-seven codewords (12+12+12+11=47) according to the symbol encodings801 to 804.

FIG. 7 is a diagram of another example illustrating a logic circuit 114b of the PAM-4 encoder 112 of FIG. 1 . For example, the logic circuit114 of FIG. 7 may be used to implement the logic circuit 114 b of FIG. 1. FIG. 7 shows that the logic circuit 114 b further includes a firstintermediate lookup table 303 and a second intermediate lookup table 304in addition to the common lookup table 301, the MTA lookup table 302,and the MDC lookup table 305 described with reference to FIG. 1 . Thefirst intermediate lookup table 303 and the second intermediate lookuptable 304 may be provided according to combinations of an MTArequirement and an MDC requirement. FIGS. 8A and 8B are diagramsillustrating codeword encoding of the first intermediate lookup table303 of FIG. 7 . FIGS. 9A and 9B are diagrams illustrating codewordencoding of the second intermediate lookup table 304 of FIG. 7 .

The first intermediate lookup table 303 may include codeword mappingsthat support a mitigated MTA requirement. The first intermediate lookuptable 303 may satisfy the MTA requirement that allows the MT event inthe boundary block BB while satisfying the MTA requirement betweensymbols in each codeword, as shown in FIG. 8A.

The first intermediate lookup table 303 may include codewords accordingto multiple symbol encodings 601 to 604 in the symbols s[0], s[1], s[2],and s[3] of each codeword, as shown in FIG. 8B. The symbol encodings 601to 604 may include at least one symbol of level +3 in the codeword byallowing the MT event in the boundary block BB while satisfying the MTArequirement between symbols.

For example, the symbol encoding 601 may provide twelve codewords(2*1*2*3=12) configured such that there is no MT event between symbolswhen the second symbol s[1] is level +3. The symbol encoding 602 mayprovide twelve codewords (3*2*1*2=12) configured such that there is noMT event between symbols when the third symbol s[2] is level +3. Thesymbol encoding 603 may provide twelve codewords (2*3*2*1=12) configuredsuch that there is no MT event between symbols when the fourth symbols[3] is level +3. The symbol encoding 604 may provide twelve codewords(1*2*3*2=12) configured such that the first symbol s[0] is level +3 andthere is no MT event between symbols. The symbol encoding 604 mayprovide codewords (12−1=11) obtained by subtracting any one of 12codewords, e.g., a codeword in which the symbols s[0], s[1], s[2] ands[3] are {+3, +1, +1, −1}. Accordingly, the first intermediate lookuptable 303 may include forty-seven codewords (36+11=47) according to thesymbol encodings 601 to 604.

The second intermediate lookup table 304 may include codeword mappingsthat support a combined MTA requirement and MDC requirement. The secondintermediate lookup table 304 may be provided to partially satisfy theMTA requirement and the MDC requirement. The second intermediate lookuptable 304 may satisfy the MTA requirement that allows an MT eventbetween symbols at most one time, as shown in FIG. 9A. The secondintermediate lookup table 304 may include codewords including level −3having the lowest DC power cost by the MT event from level −3 to level+3 or from level +3 to level −3 as the MT event is allowed at most onetime. Accordingly, the second intermediate lookup table 304 may satisfythe combined MTA requirement and MDC requirement that supports a part ofthe MTA requirement and a part of the MDC requirement.

The second intermediate lookup table 304 may include codewords accordingto multiple symbol encodings 701 to 704 in the symbols s[0], s[1], s[2],and s[3] of each codeword, as shown in FIG. 9B. The symbol encodings 701to 704 may include at least one symbol of level +3 in a codeword byallowing the MT event between symbols at most one time. Accordingly, theMT event may be present one time or may not be present in the codewordsaccording to the symbol encodings 701 to 704.

For example, the symbol encoding 701 may provide twelve codewords(2*1*2*3=12) in which the MT event between the first symbol s[0] and thesecond symbol s[1] is present one time when the second symbol s[1] islevel +3. The symbol encoding 702 may provide twelve codewords(3*2*1*2=12) in which the MT event between the third symbol s[2] and thefourth symbol s[3] is present one time when the third symbol s[2] islevel +3. The symbol encoding 703 may provide twelve codewords(2*3*2*1=12) configured such that there is no MT event between symbolswhen the fourth symbol s[3] is level +3. The symbol encoding 704 mayprovide twelve codewords (1*2*3*2=12) configured such that there is noMT event between symbols when the first symbol s[0] is level +3. Thesymbol encoding 704 may provide codewords (12−1=11) obtained bysubtracting any one of 12 codewords, e.g., a codeword in which levels ofthe symbols s[0], s[1], s[2] and s[3] are {+3, +1, +1, −1}. Accordingly,the second intermediate lookup table 304 may include forty-sevencodewords (12+12+12+11=47) according to the symbol encodings 701 to 704.

FIG. 10 is a diagram illustrating a codeword implementation methodapplied to lookup tables of the PAM-4 encoder 112 of FIGS. 3 and 7 .

Referring to FIG. 10 in conjunction with FIGS. 1, 2, 3, and 7 , thePAM-4 encoder 112 may implement the lookup tables providing codewords of8 bits corresponding to user data of 7 bits by using a codewordgeneration method 1100. The codeword generation method 1100 may convertthe 7 bits of user data into 8 bits of the corresponding codewordsymbols s[0], s[1], s[2] and s[3] by using Equations 1 to 3.

In operation S1101, the PAM-4 encoder 112 sets a weighting value α basedon encoding operation requirements. The weighting value α may beconfigured to be associated with an MT within a codeword ci[7:0] blockwith respect to 7 bits of a first half-data burst and/or a codewordci[15:8] block with respect to 7 bits of a second half-data burst oneach DQ[i] serial data line.

In operation S1103, the weighting value α may be applied to Equation 1in order to calculate an encoding cost value Cost(x) with respect to acodeword x. For example, a weighting value α=0 may be applied toimplement the MTA lookup table 302, a weighting value α=1 may be appliedto implement the MDC lookup table 305, and a weighting value 0<α<1 maybe applied to implement the first intermediate table 303 or the secondintermediate lookup table 304.

$\begin{matrix}{{{Cost}(x)} = {{\left( {1 - \alpha} \right)\frac{Coun{t_{MT}(x)}}{E{x\left\lbrack {Coun{t_{MT}(X)}} \right\rbrack}}} + {\alpha\frac{Cos{t_{DC}(x)}}{E{x\left\lbrack {Cos{t_{DC}(X)}} \right\rbrack}}}}} & \left\lbrack {{Equation}1} \right\rbrack\end{matrix}$

Here, Cost(x) denotes the encoding cost value with respect to thecodeword x, and α denotes a weighting factor that adapts to the encodingoperation requirement of the PAM-4 encoder 112. E_(X)[Count_(MT)(X)]denotes an MT average value with respect to all 256 codewordscorresponding to 8 bits, and Ex[Cost_(DC)(X)] denotes an average valueof DC power costs with respect to all 256 codewords. Count_(MT)(x)denotes the number of MTs with respect to symbols of the codeword x, andCost_(DC)(x)enotes the sum of DC power costs with respect to symbols ofthe codeword.

In operation S1105, the PAM-4 encoder 112 may calculate the encodingcost value Cost(x) with respect to 256 codewords by using Equation 1 ina weighting value α>0. The encoding cost value Cost(x) may be calculatedwith respect to all 256 codewords by using an average DC power costvalue of MT events between the symbols s[0], s[1], s[2] and s[3], thenumber of MT events of each of the 256 codewords, and the sum of the DCpower costs.

In operation S1105, the PAM-4 encoder 112 may calculate the encodingcost value Cost(x) with respect to the codeword x without an MT in theweighting value α>0 by using Equation 2. The weighting value α=0 may beconfigured to be associated with MDC codewords of a small DC power costvalue among MTA codewords within the 256 codewords.Cost(x)=Count_(MT)(x)+Cost_(DC)(x)  [Equation 2]

Here Count_(MT)(x)=0.

In operation S1105, the PAM-4 encoder 112 may calculate the encodingcost value Cost(x) with respect to the codeword x in which at least oneMT exists in the weighting value α=0 by using Equation 3. In thisregard, in order to increase the DC power cost value when a first symbolof the codeword x is level +3, an arbitrary constant, for example, +0.5,may be arithmetically added to Cost(x).Cost(x)=Count_(MT)(x)+M, M>max(Count_(MT)(x)+Cost_(DC)(|i|))  [Equation3]

Here, M may be set to a value greater than the maximum value amongabsolute values of Count_(MT)(x)+Cost_(DC)(|x|).

In operation S1107, the PAM-4 encoder 112 may sort the encoding costvalues Cost(x) of the 256 codewords calculated by applying the weightingvalue α in operation S1105 in ascending order.

In operation S1109, the PAM-4 encoder 112 may preferentially selectcodewords having a small (e.g., smallest) encoding cost value Cost(x)from among the 256 codewords arranged in ascending order. The PAM-4encoder 112 may implement a lookup table including the selectedcodewords. For example, the PAM-4 encoder 112 may select 128 of the 256codewords having a lowest encoding cost value.

In FIG. 10 , the encoding cost value Cost(x) combined with 7:8-bitencoding is described, but the encoding cost value Cost(x) may also becombined with various bit encodings, for example, 14:16-bit encoding.According to an embodiment, (n−p):n-bit encoding in which user data(n−p)(n>p) bits are converted into codewords of n bits may set theweighting value α indicating the operation requirement of bit encoding,and calculate the encoding cost value Cost(x) with respect to each of2^(n) codewords of n bits using the weighting value α. The encoding costvalue Cost(x) may be calculated based on an average value of MT eventsbetween symbols and an average value of DC power costs with respect toall 2^(n) codewords, the number of MT events of each of the 2^(n)codewords, the sum of the DC power costs and the weighting value α.(n−p):n-bit encoding may select 2^(n-p) codewords having a smallencoding cost value Cost(x) from among the 2^(n) codewords, and map theselected 2^(n-p) codewords to the user data (n−p) bits.

FIG. 11 is a circuit diagram illustrating the PAM-4 encoder 112 of FIG.1 . Hereinafter, the PAM-4 encoder 112 collectively refers toimplementing in hardware, firmware, software, or a combination thereoffor configuring an encoding circuit 900.

Referring to FIG. 11 , the PAM-4 encoder 112 may include the encodingcircuit 900 connected to the data line DQ[0]. The encoding circuit 900may include lookup tables 905, a first multiplexer circuit 910, a secondmultiplexer circuit 920, an inversion circuit 930, a third multiplexercircuit 940 and a delay circuit 950. For the sake of brevity of thefigure, although the encoding circuit 900 of data line DQ[0] is shown inFIG. 11 , the encoding circuit 900 may be repeated with respect to theother data line DQ[i] in the same way. For example, the encoding circuit900 may output a codeword correlated to a first codeword C0[7:0]acorresponding to data d0[7:1] provided to the second multiplexer circuit920 to data line DQ[0], and may output a codeword correlated with ani-th codeword Ci[7:0]a corresponding to the data di[7:1] to the dataline DQ[i].

The lookup tables 905 may include a group of registers that storecodewords of the common lookup table 301, the MTA lookup table 302, thefirst and second intermediate lookup tables 303 and 304 and the MDClookup table 305 described with reference to FIGS. 3 to 10 .

The first multiplexer circuit 910 may be connected to registersconstituting the MTA lookup table 302 of the lookup tables 905, thefirst and second intermediate lookup tables 303 and 304, and the MDClookup table 305. The first multiplexer circuit 910 may select one ofthe MTA lookup table 302, the first and second intermediate lookuptables 303 and 304, and the MDC lookup table 305 based on a first modeselection signal MRS[1:0]. Codewords of the selected lookup table may beoutput to the second multiplexer circuit 920.

The first mode selection signal MRS[1:0] represents an operationparameter code related to encoding operation requirements of the PAM-4encoder 112. The first mode selection signal MRS[1:0] may be providedfrom a mode register 115 that stores various operation and controlparameters used to set operating conditions with respect to thetransmitter 110.

For example, according to an encoding operating condition in which thePAM-4 encoder 112 supports an entire MTA requirement, the first modeselection signal MRS[1:0] may be provided as a “00” code. The firstmultiplexer circuit 910 may output codewords of the MTA lookup table 302to the second multiplexer circuit 920 based on the first mode selectionsignal MRS[1:0] of the “00” code. According to an encoding operationcondition in which the PAM-4 encoder 112 supports a mitigated MTArequirement, when the first mode selection signal MRS[1:0] is providedas a “01” code, the first multiplexer circuit 910 may select the firstintermediate lookup table 303 and output codewords of the firstintermediate lookup table 303 to the second multiplexer circuit 920.According to an encoding operating condition in which the PAM-4 encoder112 supports a combined MTA requirement and MDC requirement, when thefirst mode selection signal MRS[1:0] is provided as a “10” code,codewords of the second intermediate lookup table 304 may be output tothe second multiplexer circuit 920. According to an encoding operatingcondition in which the PAM-4 encoder 112 maximally supports the MDCrequirements, when the first mode selection signal MRS[1:0] is providedas an “11” code, codewords of the MDC lookup table 305 may be output tothe second multiplexer circuit 920.

The second multiplexer circuit 920 may be connected to registersconstituting the lookup table selected by the first multiplexer circuit910 and the common lookup table 301. The second multiplexer circuit 920may output a first codeword C0[7:0]a corresponding to a data d0[7:1] bitvalue among the codewords of the selected lookup table and the commonlookup table 301. The first codeword C0[7:0]a may be output to theinversion circuit 930 and the third multiplexer circuit 940.

The third multiplexer circuit 940 may input an inverted codewordINV_C0[7:0]a output from the inversion circuit 930 and the firstcodeword C0[7:0]a output from the second multiplexer circuit 920. Thethird multiplexer circuit 940 may select the inverted codewordINV_C0[7:0]a or the first codeword C0[7:0]a in response to a second modeselection signal MTA_Mode, and output the selected codeword as a secondcodeword c0[7:0]b.

The second mode selection signal MTA_Mode may be provided to prevent anMT event between a last symbol of a current codeword and a first symbolof a next codeword in a boundary block BB (FIG. 2 ). The second modeselection signal MTA_Mode is a signal activated when the first modeselection signal MRS[1:0] is set to support the MTA requirement, forexample, based on the first mode selection signal MRS[1:0] of the “00”code.

The third multiplexer circuit 940 may select the inverted codewordINV_C0[7:0]a when the second mode selection signal MTA_Mode is activatedand output the inverted codeword INV_C0[7:0]a as the second codewordc0[7:0]b. The third multiplexer circuit 940 may select the firstcodeword C0[7:0]a when the second mode selection signal MTA_Mode isinactivated, and output the inverted codeword INV_C0[7:0]a as the secondcodeword c0[7: 0]b. The inverted codeword INV_C0[7:0]a or the secondcodeword c0[7:0]b) corresponding to the first codeword C0[7:0]a may besent to the channel 130 (FIG. 1 ) connected to the data line DQ[0] andtransmitted to the receiver 120.

The inversion circuit 930 may input the current first codeword C0[7:0]aoutput from the third multiplexer circuit 940, and invert bits of thefirst codeword C0[7:0]a based on an output of the delay circuit 950. Thedelay circuit 950 may store the previous first codeword C0[7:0]a outputfrom the third multiplexer circuit 940, and provide the last symbol s[3]of the previous first codeword C0[7:0]a to the inversion circuit 930.

The inversion circuit 930 may determine whether the MT event occursbetween the last symbol s[3] of the previous first codeword C0[7:0]a andthe first symbol s[0] of the current first codeword C0[7:0]a. Theinversion circuit 930 may determine whether an MT event occurs, i.e., atransition from the highest voltage level to the lowest voltage level ora transition from the lowest voltage level to the highest voltage leveloccurs between the last symbol s[3] and the first symbol s[0]. When theMT event occurs between the last symbol s[3] of the previous firstcodeword C0[7:0]a and the first symbol s[0] of the current firstcodeword C0[7:0]a, the inversion circuit 930 may invert the currentfirst codeword C0[7:0]a to generate the inverted codeword INV_C0[7:0]a.When no MT event occurs, the inversion circuit 930 may output thecurrent first codeword C0[7:0]a as the inverted codeword INV_C0[7:0]a.In an embodiment, the current first codeword C0[7:0] is output directlyto the third multiplexer circuit 940 without passing through theinversion circuit 930.

For example, the inversion circuit 930 may determine whether the lastsymbol s[3] of the previous first codeword C0[7:0]a is a symbol bit “10”corresponding to level +3. As a result of determination, when the lastsymbol bit of the previous first codeword C0[7:0]a is “10” and the firstsymbol bit of the current first codeword C0[7:0]a is “00”, the inversioncircuit 930 may invert the current first codeword C0[7:0]a to generatethe inverted codeword INV_C0[7:0]a. The inverted codeword INV_C0[7:0]amay be output as the second codeword c0[7:0]b through the thirdmultiplexer circuit 940 when the second mode selection signal MTA_Modeis activated. The second codeword c0[7:0] corresponding to the invertedcodeword INV_C0[7:0]a may be sent to the channel 130 (FIG. 1 ) connectedto the data line DQ[0] and transmitted to the receiver 120. In anembodiment, the inversion circuit 930 or the encoding circuit 900activates or deactivates the second mode selection signal MTA_Mode andoutputs the second mode selection signal MTA_Mode to the thirdmultiplexer circuit 940.

Meanwhile, the codewords output by the first and second multiplexercircuits 910 and 920 may include codewords in which no MT event occursin the boundary block BB between the codewords, for example, codewordsof MTA coding. In this case, the case where a last symbol of a previouscodeword is level +3 does not occur. The inversion circuit 930 may beconfigured to determine whether symbol bits of the input current firstcodeword c0[7:0]a are inverted. The inversion circuit 930 may invert thecurrent first codeword c0[7:0]a based on a least significant bit (LSB)“0” that is common to the symbol bit “10” of level +3 or the symbol bit“00” of level −3. The inversion circuit 930 may invert the firstcodeword C0[7:0]a in response to the LSB symbol bit “0” of the inputfirst codeword C0[7:0]a to generate the inverted codeword INV_C0[7: 0].

According to an embodiment, the lookup tables 905 may be implemented asmultiple multiplexer circuits or may be optimized and implemented asfunctionally identical logic circuits.

FIGS. 12A and 12B are diagrams illustrating a codeword inversion schemein the boundary block BB according to an embodiment of the inventiveconcept. FIGS. 12A and 12B show the codeword inversion scheme performedby the inversion circuit 930 of FIG. 11 .

Referring to FIGS. 11 and 12A, it is assumed that previous codewordsymbols have levels {−3, +1, −1, +1}. When current codeword symbolsinput to the inversion circuit 930 have levels {−1, +1, −3, +1}, becausethe last symbol s[3] of the previous codeword provided from the delaycircuit 950 does not correspond to level +3, the inversion circuit 930does not perform codeword inversion on the levels {−1, +1, −3, +1} ofthe current codeword symbols.

Referring to FIG. 12B, it is assumed that the previous codeword symbolshave levels {−3, +1, −1, +3}. When the current codeword symbols input tothe inversion circuit 930 have levels {−3, +1, −3, +1}, because the lastsymbol s[3] of the previous codeword provided from the delay circuit 950corresponds to level +3, the inversion circuit 930 may perform acodeword inversion 1002 that inverts the levels {−3, +1, −3, +1} of thecurrent codeword symbols to output levels {+3, −1, +3, −1} of invertedcodeword symbols.

FIG. 13 is a flowchart illustrating an operation method of the PAM-4encoder 112 according to an embodiment of the inventive concept.

Referring to FIG. 13 in conjunction with FIGS. 2 to 12 , in operationS1201, the PAM-4 encoder 112 may receive 16-bit data bursts to betransmitted to the data line DQ[0]. In operation S1202, the PAM-4encoder 112 may split the 16-bit data burst into a first half-data burstd0[0]d0[7:1] and a second half-data burst d0[8]d0[15:9]. In operationS1203, the PAM-4 encoder 112 may send one bit of each half-data burst,for example, d0[0] and d0[8], to a DBI signal line. In operations S1204and S1205, the PAM-4 encoder 112 may combine bit pairs d0[0] and d0[8]into PAM-4 symbols, and transmit the PAM-4 symbol to the DBI signalline.

In operation S1206, the PAM-4 encoder 112 may perform encoding by whichthe remaining 7 bits not used as the PAM-4 symbols of the DBI signalline of each half-data burst are converted into a codeword. Inoperations S1207 and S1208, the PAM-4 encoder 112 may determine whetheran MT event occurs between the last symbol s[3] of a previous codewordand the first symbol s[0] of a current codeword. As a result of adetermination in operation S1208, when an MT event occurs (YES), thePAM-4 encoder 112 may advance to operation S1209. In operation S1209,the PAM-4 encoder 112 may invert the current codeword and advance tooperation S1210. As a result of determination in operation S1208, whenno MT event occurs (NO), the PAM-4 encoder 112 may advance to operationS1210. In operation S1210, the PAM-4 encoder 112 may store the lastsymbol s[3] of the current codeword in the delay circuit 950. Inoperation S1211, the PAM-4 encoder 112 may transmit the codeword withrespect to 7 bits of each half-data burst to the channel 130.

FIG. 14 is a circuit diagram illustrating the PAM-4 decoder 122according to an embodiment of the inventive concept. Hereinafter, thePAM-4 decoder 122 collectively refers to implementing in hardware,firmware, software, or a combination thereof for configuring a decodingcircuit 1300.

Referring to FIGS. 1 and 14 , the PAM-4 decoder 122 includes thedecoding circuit 1300 that performs 8:7 bit decoding on the data lineDQ[0] in correspondence to the encoding circuit 900 of FIG. 9 . Thedecoding circuit 1300 may include lookup tables 1305, a firstmultiplexer circuit 1310, a second multiplexer circuit 1320, aninversion circuit 1330, a third multiplexer circuit 1340, a delaycircuit 1350, and an interleave circuit 1360. The decoding circuit 1300may be repeated with respect to the other data lines DQ[i] in the samemanner.

The lookup tables 1305 may include a group of registers that storecodewords of the common lookup table 301, the MTA lookup table 302, thefirst and second intermediate lookup tables 303 and 304 and the MDClookup table 305 described with reference to FIGS. 3 to 10 . The lookuptables 1305 are configured the same as the lookup table 905 of theencoding circuit 900, but input/output coding relationships may beconfigured opposite to each other. According to an embodiment, thelookup tables 1305 may be implemented as multiple multiplexer circuitsor may be optimized and implemented as functionally identical logiccircuits.

The decoding circuit 1300 may receive the second codeword c0[7:0]btransmitted from the encoding circuit (900 of FIG. 11 ) to the data lineDQ[0], and may provide the second codeword c0[7:0]b to the inversioncircuit 1330 and the third multiplexer circuit 1340.

The third multiplexer circuit 1340 may input an inverted codewordINV_c0[7:0]b output from the inversion circuit 1330 and the secondcodeword c0[7:0]b. The third multiplexer circuit 1340 may select theinverted codeword INV_c0[7:0]b or the second codeword c0[7:0]b inresponse to the second mode selection signal MTA_Mode, and output theselected codeword as a third codeword c0[7:0]. The second mode selectionsignal MTA_Mode has the same function as that of the second modeselection signal MTA_Mode described with reference to the encodingcircuit 900 of FIG. 9 , and may be provided to prevent an MT event inthe boundary block BB (FIG. 2 ).

The second codeword C0[7:0]b may be output as the third codeword c0[7:0]through the third multiplexer circuit 1340 according to the inactivationof the second mode selection signal MTA_Mode. The third codeword c0[7:0]corresponding to the second codeword c0[7:0]b may be provided to thesecond multiplexer circuit 1320.

The delay circuit 1350 may store the previous third codeword c0[7:0]output from the third multiplexer circuit 1340, and provide the lastsymbol s[3] of the previous third codeword c0[7:0] to the inversioncircuit 1330.

The inversion circuit 1330 may determine whether the last symbol s[3] ofthe previous third codeword c0[7:0] is a symbol corresponding to level+3. The inversion circuit 1330 may also determine whether the firstsymbol s[0] of the received current second codeword c0[7:0]b is level+3. When the last symbol s[3] of the previous third codeword c0[7:0] islevel +3 and the first symbol s[0] of the current second codewordc0[7:0]b is level +3, the inversion circuit 1330 may determine that thecurrent second codeword c0[7:0]b is inverted by the PAM-4 encoder 112.In this case, the inversion circuit 1330 may invert the current secondcodeword c0[7: 0b] to generate the inverted codeword INV_c0[7:0]b. Theinverted codeword INV_c0[7:0]b may be output as the third codewordc0[7:0] through the third multiplexer circuit 1340 according to theactivation of the second mode selection signal MTA_Mode. The thirdcodeword c0[7:0] corresponding to the inverted codeword INV_c0[7:0]b maybe provided to the second multiplexer circuit 1320.

The decoding circuit 1300 may receive the second codeword c0[7:0]b ofMTA coding in which no MT event occurs in the boundary block BB betweencodewords. In this case, the case where a last symbol of a previouscodeword is level 3 does not occur. According to an embodiment, theinversion circuit 1330 may be configured to determine whether symbolbits of the sequentially input second codeword c0[7:0]b are inverted.The inversion circuit 1330 may invert the current second codewordc0[7:0]b based on the symbol bit “10” of the level +3 and the symbol bit“00” of the level −3 with respect to the input current second codewordc0[7:0]b. The inversion circuit 930 may invert the second codewordc0[7:0]b in response to the LSB symbol bit “0” of the input secondcodeword c0[7:0]b to generate the inverted codeword INV_C0[7: 0]b.

According to an embodiment, the inversion circuit 1330 may determinewhether the symbol bits are inverted in response to a separate inversionsignal provided from the transmitter 110 (FIG. 1 ), and may invert thesymbol bits according to results of determination.

The first multiplexer circuit 1310 may be connected to registersconstituting the MTA lookup table 302 of the lookup tables 1305, thefirst and second intermediate lookup tables 303 and 304, and the MDClookup table 305 and select one of the MTA lookup table 302, the firstand second intermediate lookup tables 303 and 304, and the MDC lookuptable 305 in response to a first mode selection signal MRS[1:0].Codewords of the selected lookup table may be output to the secondmultiplexer circuit 1320. The first mode selection signal MRS[1:0] hasthe same function as an operation parameter code related to encodingoperation requirements of the PAM-4 encoder 112 described with referenceto FIG. 11 .

The first mode selection signal MRS[1:0] may be provided from the moderegister 125 that stores various operation and control parameters usedto set operating conditions with respect to the receiver 120. Forexample, the MTA lookup table 302 may be selected based on the firstmode selection signal MRS[1:0] of a “00” code, the second intermediatelookup table 304 may be selected based on a “10” code, and the MDClookup table 305 may be selected based on a “11” code, in the samemanner as the encoding operation conditions set for the transmitter 110,That second mode selection signal MTA_Mode is a signal activated basedon the first mode selection signal MRS[1:0] of the “00” code.

The second multiplexer circuit 1320 may be connected to registersconstituting the lookup table selected by the first multiplexer circuit1310 and the common lookup table 301 according to the first modeselection signal MRS[1:0], and may output a data bit value d0[7:1]corresponding to the third codeword c0[7:0] among the codewords of theselected lookup table and the common lookup table 301. The data bitvalue d0[7:1] may be provided to the interleave circuit 1360.

The interleave circuit 1360 may receive data d0[7:1] output from thesecond multiplexer circuit 1320 and data d0[0] of the PAM-4 symbolreceived through the DBI signal line, and combine the data d0[0] andd0[7:1] to recover a first half-data burst d0[0]d0[7:1]. Similarly, theinterleave circuit 1360 may receive data d0[15:9] and data d0[8]received through the DBI signal line, and combine the data d0[8] andd0[15:9] to recover a second half-data burst d0[8]d0[15:9]. The decodingcircuit 1300 may recover full data bursts by combining the half-databursts with respect to each serial data line DQ[i].

FIG. 15 is a flowchart illustrating an operation method of the PAM-4decoder 122 according to an embodiment of the inventive concept.

Referring to FIG. 15 in conjunction with FIGS. 1, 2, 11 and 14 , inoperation S1401, the PAM-4 decoder 122 may receive the second codewordc0[7:0]b through the data line DQ[0] of the channel 130. In operationS1402, the PAM-4 decoder 122 may determine whether the received secondcodeword c0[7:0]b is an inverted codeword. As a result of thedetermination of operation S1402, when the received second codewordc0[7:0]b is the inverted codeword, the PAM-4 decoder 122 may advance tooperation S1403. In operation S1403, the PAM-4 decoder 122 may invertthe second codeword c0[7:0]b and output the second codeword c0[7:0]b asthe third codeword c[7:0], and advance to operation S1404. The PAM-4decoder 122 may invert the current codeword in operation S1403 andadvance to operation S1404. As a result of the determination ofoperation S1402, when the received second codeword c0[7:0]b is not theinverted codeword (NO), the PAM-4 decoder 122 may output the secondcodeword c0[7:0]b as the third codeword c[7:0], and advance to operationS1404.

In operation S1404, the PAM-4 decoder 122 may perform 8:7-bit decodingby which the third codeword c0[7:0] is converted into the data d0[7:1].In operation S1405, the PAM-4 decoder 122 may receive the PAM-4 symbolthrough the DBI signal line of the channel 130. In operation S1406, thePAM-4 decoder 122 may combine the data d0[0] of the received PAM-4symbol and the decoded d0[7:1] to recover the first half-data burstd0[0]d0[7:1].

In order to recover second half-data bursts with respect to the dataline DQ[0], the PAM-4 decoder 122 may receive and decode the codewordc0[15:8]b, convert the codeword c0[15:8]b into the data d0[15:9], andcombine d0[8] of the PAM-4 symbol received through the DBI signal lineand the decoded data d0[15:9] to recover the second half-data burstd0[8]d0[15:9] in operations S1401 to S1406. For example, operationsS1401 to S1406 may performed twice to recover both half-data bursts.

In operation S1407, the PAM-4 decoder 122 may combine the firsthalf-data burst d0[0]d0[7:1] and the second half-data burstd0[8]d0[15:9] to recover the full data burst.

FIGS. 16A and 16B are diagrams conceptually illustrating a symmetric ODTcircuit in relation to a transmitter 110 a and a receiver 120 aaccording to an embodiment of the inventive concept. FIG. 16A shows thesymmetric ODT circuit including a ground voltage VSS ODT between thetransmitter 110 a and the receiver 120 a, and FIG. 16B shows a symmetricODT circuit including a supply voltage VDD ODT. FIG. 17 is a diagramillustrating symbols of a codeword applied to a ground voltage VSS ODTtarget between the transmitter 110 a and the receiver 120 a of FIG. 16A.

Referring to FIG. 16A, the transmitter 110 a may transmit the codewordoutput from the encoding circuit 900 of the PAM-4 encoder 112 to thechannel 130 through the output buffer 116. The codeword may be providedfrom the MTA lookup table 302 including codewords in which no MT eventoccurs between the symbols described with reference to FIGS. 5A and 5Band no MT event occurs even in the block boundary BB. In addition, whenan MT event between the block boundary BB occurs based on a last symbolof a previous codeword and a first symbol of a current codeword, thecodeword may be provided as an inverted codeword by the inversioncircuit 930 that performs codeword inversion on the current codewordsymbols. Accordingly, the codeword output from the encoding circuit 900may be an encoded codeword including many symbol level −3 having a zero(0) current level and zero (0) DC cost value corresponding to the groundvoltage VSS level and transmitted with low power.

The output buffer 116 may include a pull-up transistor PU connectedbetween the supply voltage line VDD and the channel 130 and a pull-downtransistor PD connected between the channel 130 and the ground voltageVSS line. In FIG. 16A, one pull-up transistor PU and one pull-downtransistor PD are illustrated, but each of the pull-up transistor PU andthe pull-down transistor PD may be replaced by a plurality oftransistors. Some of gates of the pull-up transistor PU and thepull-down transistor PD may receive the codeword output from theencoding circuit 900, and the remaining ones may receive a ZQcalibration code. Accordingly, the pull-up transistor PU and thepull-down transistor PD may adjust a swing width and/or driving strengthof the codeword transmitted to the channel 130 and provide a terminationresistance to the channel 130.

A driving capability of each of the pull-up transistor PU and thepull-down transistor PD may be determined according to the symbol level−3, −1, +1, or +3 of the codeword. For convenience of description, it isassumed that the driving capability of each of the pull-up transistor PUand the pull-down transistor PD according to the codeword is modeled asa pull-up resistance value R1 and a pull-down resistance value R2.

When the input buffer 126 receives the codeword transmitted to thechannel 130 through the output buffer 116, the receiver 120 a mayprovide a termination resistor R3 with respect to the channel 130 by atermination circuit 128 a. The termination circuit 128 a may include thetermination resistor R3 connected between the channel 130 and the groundvoltage VSS line. The termination circuit 128 a of the receiver 120 amay include the symmetric ODT connected to the same voltage, i.e., theground voltage VSS, with respect to a codeword level including manysymbol levels −3 corresponding to the ground voltage VSS level.

Referring to FIG. 16B, the receiver 120 a may include a terminationcircuit 128 a′ connected between the supply voltage VDD line and thechannel 130, in comparison with FIG. 16A. A symmetric ODT stateincluding the supply voltage VDD ODT may be between the transmitter 110a and the receiver 120 a. The transmitter 110 a may transmit thecodeword provided from the MTA lookup table 302 of the PAM-4 encoder 112to the channel 130 through the output buffer 116. The codeword mayinclude symbols applied to the supply voltage VDD ODT target which willbe described with reference to FIG. 19B. The MTA lookup table 302 mayprovide codewords encoded to correspond to the supply voltage VDD ODTtarget, for example, codewords including many symbol levels +3.

According to an embodiment, the PAM-4 encoder 112 may include the MTAlookup table 302 that adaptively provides corresponding codewordsaccording to a ground voltage VSS ODT state or a supply voltage VDD ODTstate between the transmitter 110 a and the receiver 110 b. The MTAlookup table 302 may include a first table including codewords includingmany symbol levels −3 corresponding to the ground voltage VSS ODT targetand a second table including codewords including many symbol levels +3corresponding to the supply voltage VDD ODT target.

Referring to FIG. 16A, the output buffer 116 of the transmitter 110 a,the channel 130, and the termination circuit 128 a of the receiver 120 amay be modeled as shown in FIG. 17 . Referring to FIG. 17 , forimpedance matching of the channel 130, the termination resistor R3 maybe set to a resistance value R equal to the resistance value R of thechannel 130. Each of the pull-up transistor PU and the pull-downtransistor PD of the output buffer 116 may differently represent apull-up modeling resistance value R1 and a pull-down modeling resistancevalue R2 according to the symbol level −3, −1, +1 or +3 of the codeword.

For example, with respect to the symbol level −3, the pull-up modelingresistance value R1 may be represented by an infinity value and thepull-down modeling resistance value R2 may be represented by theresistance value R. Accordingly, the symbol level −3 may have a zero (0)current level and a zero (0) DC cost value. With respect to the symbollevel −1, as the pull-up modeling resistance value R1 is represented bya resistance value 3R and the pull-down modeling resistance value R2 isrepresented by the resistance value 1.5R, the symbol level −1 may have a5 VDD/18 current level and a DC cost value 5. With respect to the symbollevel +1, as the pull-up modeling resistance value R1 is represented bythe resistance value 1.5R and the pull-down modeling resistance value R2is represented by the resistance value 3R, the symbol level +1 may havea 8 VDD/18 current level and a DC cost value 8. With respect to thesymbol level +3, as the pull-up modeling resistance value R1 isrepresented by the resistance value R and the pull-down modelingresistance value R2 is represented by the infinity value, the symbollevel +3 may have a 9 VDD/18 current level and a DC cost value 9. In theground voltage VSS ODT state, as the number of symbol levels −3 of thecodeword increases, the codeword may be transmitted with low power.

The ground voltage VSS ODT between the transmitter 110 a and thereceiver 120 a described with reference to FIGS. 16A and 17 may beconfigured to enable codeword transmission of an MTA codeword with a lowpower supply. The codeword received through the input buffer 126 of thereceiver 120 a may be recovered as a data burst by the decoding circuit1300 of the PAM-4 decoder 122 described with reference to FIG. 14 .

FIGS. 18A and 18B are diagrams conceptually illustrating an asymmetricODT circuit in relation to a transmitter 110 b and a receiver 120 baccording to an embodiment of the inventive concept. FIG. 18A shows thesymmetric ODT circuit including the supply voltage VDD ODT between thetransmitter 110 b and the receiver 120 b, and FIG. 18B shows a symmetricODT circuit including the ground voltage VSS ODT. FIG. 19A is a diagramillustrating an operation of first and second sign inversion parts 1810and 1820 of FIG. 18A. FIG. 19B is a diagram illustrating symbols of acodeword applied to the power voltage VDD ODT target between thetransmitter 110 b and the receiver 120 b.

Referring to FIG. 18A, the transmitter 110 b may further include thefirst sign inversion part 1810 coupled to the encoding circuit 900 inthe PAM-4 encoder 112, and, the receiver 120 b may further include thesecond code inversion part 1820 coupled to the decoding circuit 1300 inthe PAM-4 decoder 122, in comparison with the transmitter 110 a of FIG.16A. In addition, the receiver 120 b may include a termination circuit128 b connected between the supply voltage VDD line and the channel 130according to the operating performance of the receiver 120 b. Thetermination circuit 128 b may include a termination resistor R4connected between the supply voltage VDD and the channel 130. Thetermination circuit 128 b may include the asymmetric ODT connected todifferent voltages, that is, the supply voltage VDD, with respect to acodeword level including many symbol levels −3 corresponding to theground voltage VSS level provided as the ground voltage VSS ODT targetin the MTA table 302 of the encoding circuit 900.

The first and second sign inversion parts 1810 and 1820 may receive anODT control signal MRS_ODT provided from the mode registers 115 of FIGS.11 and 125 of FIG. 14 . The ODT control signal MRS_ODT is a signalindicating whether an ODT state between the transmitter 110 b and thereceiver 120 b is the symmetric ODT state or the asymmetric ODT state.

In an initialization operation after the device 100 (FIG. 1 ) is poweredup, the ODT state between the transmitter 110 b and the receiver 120 bmay be checked. When the ODT state between the transmitter 110 b and thereceiver 120 b is determined to be the same ground voltage VSS ODTstate, that is, the symmetric ODT state, each of the mode register 115of the transmitter 110 b and the mode register 125 of the receiver 120 bmay store the ODT control signal MRS_ODT of a first logic level, forexample, a logic low level. The ODT control signal MRS_ODT of the firstlogic level may be provided as a default ODT control signal. When theODT state between the transmitter 110 b and the receiver 120 b isdetermined as the asymmetric ODT state, the mode registers 115 and 125may store the ODT control signal MRS_ODT of a second logic level, forexample, a logic high level.

In the symmetric ODT state including the ground voltage VSS ODT betweenthe transmitter 110 b and the receiver 120 b, the first sign inversionpart 1810 may transmit the codeword output from the encoding circuit 900to the output buffer 116 in response to the ODT control signal MRS_ODTof the first logic level. The output buffer 116 may transmit a codewordhaving a current level corresponding to the symbol level −3, −1, +1, or+3 and a DC cost value described in FIG. 17 to the channel 130.

In the asymmetric ODT state including the supply voltage VDD ODT betweenthe transmitter 110 b and the receiver 120 b, the first sign inversionpart 1810 may invert an MSB bit among symbol bits of the codeword outputfrom the encoding circuit 900 in response to the ODT control signalMRS_ODT of the second logic. As shown in FIG. 19A, the first signinversion part 1810 inverts the MSB bit with respect to the symbol bit00 of the symbol level −3 to convert it into the symbol bit 10 of thesymbol level +3. The first sign inversion part 1810 may invert the MSBbit with respect to the symbol bit 01 of the symbol level −1 to convertthe MSB bit into the symbol bit 11 of the symbol level +1. The firstsign inversion part 1810 may invert the MSB bit with respect to thesymbol bit 11 of the symbol level +1 to convert the MSB bit into thesymbol bit 01 of the symbol level −1. The first sign inversion part 1810may invert the MSB bit with respect to the symbol bit 10 of the symbollevel +3 to convert the MSB bit into the symbol bit 00 of the symbollevel −3.

In the asymmetric ODT state, the symbol levels −3, −1, +1, and +3 of thecodeword output from the encoding circuit 900 may be respectively outputas the symbol levels +3, +1, −1, and −3 of which signs of symbol levelare inverted by the first sign inversion part 1810. The output buffer116 of the transmitter 110 b, the channel 130, and the terminationcircuit 128 b of the receiver 120 b may be modeled as shown in FIG. 19B,according to the symbol levels +3, +1, −1, and −3 inverted by the firstsign inversion part 1810. Referring to FIG. 19B, for impedance matchingof the channel 130, the termination resistor R4 may be set to theresistance value R equal to the resistance value R of the channel 130.Each of the pull-up transistor PU and the pull-down transistor PD of theoutput buffer 116 may differently represent a pull-up modelingresistance value R1 and a pull-down modeling resistance value R2according to the symbol level −+3, +1, −1 or −3 of the codeword.

For example, with respect to the symbol level +3 inverted by the firstsign inversion part 1810, the pull-up modeling resistance value R1 maybe represented by the resistance value R and the pull-down modelingresistance value R2 may be represented by an infinity value.Accordingly, the symbol level +3 may have a zero (0) current level and azero (0) DC cost value. With respect to the inverted symbol level +1, asthe pull-up modeling resistance value R1 is represented by theresistance value 1.5R and the pull-down modeling resistance value R2 isrepresented by the resistance value 3R the symbol level +1 may have a 5VDD/18 current level and a DC cost value 5. With respect to the invertedsymbol level −1, as the pull-up modeling resistance value R1 isrepresented by the resistance value 3R and the pull-down modelingresistance value R2 is represented by the resistance value 1.5R, thesymbol level −1 may have a 8 VDD/18 current level and a DC cost value 8.With respect to the inverted symbol level −3, the pull-up modelingresistance value R1 may be represented by an infinity value and thepull-down modeling resistance value R2 may be represented by theresistance value R. Accordingly, the symbol level −3 may have a 9 VDD/18current level and a DC cost value of 9. In the supply voltage VDD ODTstate, as the number of symbol levels +3 of the codeword increases, thecodeword may be coded so as to be transmitted with low power.

In FIG. 18A, the second sign inversion part 1820 may provide thecodeword received through the input buffer 126 to the decoding circuit1300 in response to the ODT control signal MRS_ODT of the first logiclevel to be converted into a data burst.

The second sign inversion part 1820 may invert the MSB bit among thesymbol bits of the codeword received through the input buffer 126 inresponse to the ODT control signal MRS_ODT of the second logic level.The second sign inversion part 1820 may invert the MSB symbol bit withrespect to the MSB symbol bit inverted by the first sign inversion part1810 to convert the MSB symbol bit into an original codeword output fromthe encoding circuit 900. The codeword converted into the originalcodeword by the second code inversion part 1820 may be provided to thedecoding circuit 1300 to be recovered as the data burst.

For example, user data 00000011 may be configured such that a first databit 0 is transmitted to the DBI signal line and encoded by the 7-8 bitencoding 200 of FIG. 2 performed by the PAM-4 encoder 112, and theremaining 7 bits 0000011 include the codeword having the symbol levels−3, −3, −3, and +1 using the MTA lookup table 302.

In the ground voltage VSS ODT state, that is, the symmetric ODT state,in which the ODT state between the transmitter 110 b and the receiver120 b is the same, when the codeword having the symbol levels −3, −3,−3, and +1 is transmitted to the channel 130, the average DC cost valuemay be calculated as (0+0+0+8)/4=2. In the asymmetric ODT state in whichthe ground voltage VSS ODT state of the transmitter 110 b and the supplyvoltage VDD ODT state of the receiver 120 b are different from eachother, the codeword having the symbol levels 3, +3, +3, and −1 invertedby the first sign inversion part 1810 is transmitted to the channel 130,the average DC cost value may be calculated as (0+0+0+8)/4=2. That is,when the codeword generated using the MTA lookup table 302 istransmitted to the channel 130 between the transmitter 110 b and thereceiver 120 b, the average DC cost value is the same in the symmetricODT state and the asymmetric ODT state.

As described with reference to FIGS. 18A, 19A and 19B, the codeword ofthe ground voltage VSS ODT target generated by the PAM-4 encoder 112 ofthe transmitter 110 b may be configured to be converted into thecodeword for the supply voltage VDD ODT of the channel 130 by the firstsign inversion circuit 1810, and into the codeword of the originalground voltage VSS ODT target by the second sign inversion circuit 1820.

Referring to FIG. 18 b , the MTA lookup table 302 in the transmitter 110b may include codeword symbols including many symbol levels +3 appliedto the supply voltage VDD ODT target, and the termination circuit 128 b′of the receiver 120 b may be connected between the channel 130 and theground voltage VSS line, in comparison with FIG. 18A. The asymmetric ODTstate including the ground voltage VSS ODT may be between thetransmitter 110 b and the receiver 120 b.

The first sign inversion part 1810 may invert the MSB bit among thesymbol bits of the codeword output from the encoding circuit 900 inresponse to the ODT control signal MRS_ODT of the second logic level.Accordingly, the codeword of the supply voltage VDD ODT target providedfrom the MTA lookup table 302 may be converted into the codeword for theground voltage VSS ODT of the channel 130 by the first sign inversionpart 1810.

The second sign inversion part 1820 may invert the MSB bit among thesymbol bits of the codeword for the ground voltage VSS ODT receivedthrough the input buffer 126 in response to the ODT control signalMRS_ODT of the second logic level. Accordingly, the received codewordfor the ground voltage VSS ODT may be converted into the codeword of theoriginal supply voltage VDD ODT target by the second sign inversion part1820.

FIG. 20 is a block diagram of a first example of a memory system 1500including an encoding and decoding apparatus according to an embodimentof the inventive concept.

Referring to FIG. 20 , the memory system 1500 may include a memorycontroller 1510 and a memory device 1520. The memory system 1500 mayrefer to an integrated circuit, an electronic device or system, a smartphone, a tablet PC, a computer, a server, a workstation, a portablecommunication terminal, a personal digital assistant (PDA), a portablemultimedia player (PMP), a computing device such as other suitablecomputers, virtual machine or a virtual computing device thereof, etc.Alternatively, the memory system 1500 may be a part of componentsincluded in a computing system such as a graphics card.

The memory controller 1510 may be communicatively connected to thememory device 1520 through a channel or a memory bus 1530. For the sakeof brevity, it is illustrated that a clock CLK signal, a command/addressCA signal, and data DQ are provided between the memory controller 1510and the memory device 1520 through one signal line, but the clock CLKsignal, the command/address CA signal, and the data DQ may be actuallyprovided through a plurality of signal lines or a bus.

The clock CLK signal may be transmitted from the memory controller 1510to the memory device 1520 through a clock signal line of the memory bus1530. The command/address CA signal may be transmitted from the memorycontroller 1510 to the memory device 1520 through a command/address CAbus of the memory bus 1530. A chip selection CS signal may betransmitted from the memory controller 1510 to the memory device 1520through a chip selection CS line of the memory bus 1530. The chipselection CS signal activated to a logic high may represent that thecommand/address CA signal transmitted through the command/address CA busis a command. The data DQ may be transmitted from the memory controller1510 or from the memory device 1520 or from the memory device 1520 tothe memory controller 1510, through a data DQ bus of the memory bus 1530including bidirectional signal lines.

The memory controller 1510 may include a data transmitter 1512 thattransmits the data DQ to the memory device 1520. The data transmitter1512 may include the PAM-4 encoder 112 configured to convert data burststo be transmitted to the memory device 1520 into PAM-4 symbols. The datatransmitter 1512 may include the PAM4 encoder 112 that converts databursts to be transmitted through the data bus into codewords including aplurality of symbols. The PAM-4 encoder 112 may be configured to encodethe data bursts into a codeword corresponding to the data bursts usingMTA codeword mappings in which no MT event occurs between the pluralityof symbols and MDC codeword mappings related to minimum powerconsumption of the plurality of symbols. The PAM-4 encoder 112 mayprovide the MTA codeword mappings in which no MT event occur in theblock boundary BB between the codewords. In the symmetric ODT state inwhich the ODT state between the memory controller 1510 and the memorydevice 1520 connected to the data bus is the same, the PAM-4 encoder 112may transmit a first codeword through the data bus, and, in theasymmetric ODT state in which the ODT state is different, may invert theMSB bit among symbol bits of the first codeword, and transmit a secondcodeword including the inverted MSB symbol bit through the data bus.

The memory device 1520 may write the data DQ or read the data DQ underthe control of the memory controller 1510. The memory device 1520 mayinclude a memory cell array 1522 and a data input buffer 1524.

The memory cell array 1522 may include a plurality of word lines and aplurality of bit lines, and a plurality of memory cells formed atintersections of the word lines and the bit lines. The memory cells ofthe memory cell array 1522 may include volatile memory cells (e.g.,dynamic random access memory (DRAM) cells, static RAM (SRAM) cells,etc.), nonvolatile memory cells (e.g., flash memory cells, resistive RAM(ReRAM) cells, etc., phase change RAM (PRAM) cells, magnetic RAM (MRAM)cells, or other types of memory cells.

The memory device 1520 may be configured to receive and decode the PAM-4symbols transmitted through the data DQ bus using the data input buffer1524. The data input buffer 1524 may include the PAM-4 decoder 122configured to recover the PAM-4 symbols into the write data bursts. Thedata input buffer 1524 may include the PAM-4 decoder 122 that receivescodewords including a plurality of symbols through a data bus andrecovers the received codewords into data bursts. The PAM-4 decoder 122may be configured to decode codewords into data bursts corresponding toa codeword using MTA codeword mappings in which no MT event occursbetween the plurality of symbols and MDC codeword mappings related tominimum power consumption of the plurality of symbols. In the symmetricODT state in which the ODT state between the memory controller 1510 andthe memory device 1520 connected to the data bus is the same, the PAM-4decoder 122 may receive the first codeword and recover the firstcodeword as the data bursts, and, in the asymmetric ODT state in whichthe ODT state is different, may invert the MSB bit among symbol bits ofthe received first codeword, and recover the second codeword includingthe inverted MSB symbol bit as the data bursts. The data input buffer1524 may provide the decoded write data bursts for writing to the memorycell array 1522.

FIG. 21 is a block diagram illustrating a part of the memory device 1520of FIG. 20 .

Referring to FIG. 21 , the memory device 1520 may include a memory cellarray 1522, a row decoder 1601, a word line driver 1602, a columndecoder 1603, an input/output gating circuit 1604, an MRS 1605, acontrol logic circuit 1606, an address buffer 1607, a data input buffer1524, and a data output buffer 1526.

The memory cell array 1522 includes a plurality of memory cells providedin the form of a matrix arranged in rows and columns. The memory cellarray 1522 includes the plurality of word lines WL and the plurality ofbit lines BL connected to the memory cells. The plurality of word linesWL may be connected to the rows of the memory cells, and the pluralityof bit lines BL may be connected to the columns of the memory cells.

The row decoder 1601 may select any one of the plurality of word linesWL connected to the memory cell array 1522. The row decoder 1601 maydecode a row address ROW_ADDR received from the address buffer 1607 toselect any one word line WL corresponding to the row address ROW_ADDR,and connect the selected word line WL to the word line driver 1602 whichis activated. The column decoder 1603 may select certain bit lines BLfrom among the plurality of bit lines BL of the memory cell array 1522.The column decoder 1603 may decode a column address COL_ADDR receivedfrom the address buffer 1607 to generate a column selection signal, andconnect the bit lines BL selected by the column select signal to theinput/output gating circuit 1604. The input/output gating circuit 1604may include read data latches storing read data of the bit lines BLselected by the column selection signal, and a write driver writingwrite data to the memory cell array 1522. The read data stored in theread data latches of the input/output gating circuit 1604 may beprovided to the data DQ bus through the data output buffer 1526. Thewrite data may be applied to the memory cell array 1522 through the datainput buffer 1524 connected to the data DQ bus and through the writedriver of the input/output gating circuit 1604.

The control logic circuit 1606 may receive the clock signal CLK and thecommand CMD and generate control signals CTRLS for controlling anoperation timing and/or a memory operation of the memory device 1520.The control logic circuit 1606 may read data from the memory cell array1522 and write data to the memory cell array 1522 using the controlsignals CTRLS.

The MRS 1605 may store information used by the control logic circuit1606 to configure the operation of the memory device 1520 to setoperating conditions with respect to the memory device 1520. The MRS1605 may include a register that stores parameter codes with respect tovarious operation and control parameters used to set the operatingconditions of the memory device 1520. The parameter code may be receivedby the memory device 1520 through the command/address CA bus. Thecontrol logic circuit 1606 may provide the control signals CTRLS tocircuits of the memory device 1520 to operate as set in the operationand control parameters stored by the MRS 1605. The control signals CTRLSmay include the first mode selection signal MRS[1:0] and the second modeselection signal MTA_Mode described with reference to FIGS. 11, 14, and18 .

FIG. 22 is a block diagram of an example of a memory system 1700including an encoding and decoding apparatus according to an embodimentof the inventive concept.

Referring to FIG. 22 , the memory system 1700 is different from thememory system 1500 of FIG. 20 in that the memory system 1700 furtherincludes a data receiver 1714 including the PAM-4 decoder 122 in amemory controller 1710 and a memory device 1720 comprises the dataoutput buffer 1526 including the PAM-4 encoder 112.

When transmitting read data bursts output from the memory cell array1522 to the memory controller 1710, the memory device 1720 may beconfigured to encode and transmit PAM-4 symbols through the data outputbuffer 1526. The data output buffer 1526 may include the PAM-4 encoder112 configured to convert read data into the PAM-4 symbols.

The memory controller 1710 may be configured to receive and decode thePAM-4 symbols transmitted through the data DQ bus through a datareceiver 1714. The data receiver 1714 may include the PAM-4 decoder 122configured to recover the PAM-4 symbols into the read data bursts.

FIG. 23 is a block diagram of an example of a system 3000 including anencoding and decoding apparatus according to an embodiment of theinventive concept.

Referring to FIG. 23 , the system 3000 may include a camera 3100, adisplay 3200, an audio processor 3300, a modem 3400, DRAMs 3500 a and3500 b, flash memories 3600 a and 3600 b, I/O devices 3700 a and 3700 band an application processor (hereinafter referred to as “AP”) 3800. Thesystem 3000 may be implemented as a laptop computer, a mobile phone, asmart phone, a tablet personal computer, a wearable device, a healthcaredevice, or an Internet Of Things (IoT) device. In addition, the system3000 may be implemented as a server or a personal computer.

The camera 3100 may capture a still image or a moving image according tocontrol of a user, and may store the captured image/image data ortransmit the captured image/image data to the display 3200. The audioprocessor 3300 may process audio data included in content of the flashmemory devices 3600 a and 3600 b or a network. The modem 3400 maymodulate and transmit a signal to transmit/receive wired/wireless data,and may demodulate the signal to recover the original signal at thereceiving end. The I/O devices 3700 a and 3700 b may include devicesproviding a digital input and/or output function such as a universalserial bus (USB) or storage, a digital camera, a secure digital (SD)card, a digital versatile disc (DVD), a network adapter, and a touchscreen, etc.

The AP 3800 may control the overall operation of the system 3000. The AP3800 may control the display 3200 to display a part of the contentstored in the flash memory devices 3600 a and 3600 b on the display3200. When a user input is received through the I/O devices 3700 a and3700 b, the AP 3800 may perform a control operation corresponding to theuser input. The AP 3800 may include a controller 3810 and an interface3830, and may include an accelerator block that is a dedicated circuitfor an artificial intelligence (AI) data operation, or an acceleratorchip 3820 separately from the AP 3800. The DRAM 3500 b may beadditionally mounted to the accelerator block or the accelerator chip3820. An accelerator is a function block that performs a specificfunction of the AP 3800. The accelerator may include a graphicsprocessing unit (GPU) that is a function block that specializes ingraphic data processing, a neural processing unit (NPU) that is a blockfor performing an AI calculation and inference, and a data processingunit (DPU) that is a block that specializes in data transmission.

The system 3000 may include a plurality of DRAMs 3500 a and 3500 b. TheAP 3800 may control the DRAMs 3500 a and 3500 b through a command andmode register (MRS) setting conforming to the Joint Electron DeviceEngineering Council (JEDEC) standard, or may communicate with the DRAMs3500 a and 3500 b by a setting DRAM interface protocol to use acompany-specific function such as low voltage/high speed/reliability anda cyclic redundancy check (CRC)/error correction code (ECC) function.For example, the AP 3800 may communicate with the DRAM 3500 a through aninterface conforming to JEDEC standards such as LPDDR4 and LPDDR5, andthe accelerator block or accelerator chip 3820 may communicate with theDRAM 3500 a by setting a new DRAM interface protocol to control the DRAM3500 b for accelerating to have a higher bandwidth than that of the DRAM3500 a.

While two DRAMs 3500 a and 3500 b are illustrated in FIG. 23 , theinventive concept is not limited thereto. If the bandwidth, responsespeed, and voltage conditions of the AP 3800 or the accelerator chip3820 are satisfied, any memory such as PRAM, SRAM, MRAM, RRAM, FRAM, orHybrid RAM may be present. The DRAMs 3500 a and 3500 b have relativelysmaller latency and bandwidth than the I/O devices 3700 a and 3700 b orthe flash memories 3600 a and 3600 b. The DRAMs 3500 a and 3500 b may beinitialized when the system 3000 is powered on, and may be used astemporary storage places for an operating system and application datawhen the operating system and application data are loaded thereon, ormay be used as an execution space for various software codes.

In the DRAMs 3500 a and 3500 b,addition/subtraction/multiplication/division operations, vectoroperations, address operations, or fast Fourier transform (FFT)operations may be performed. In addition, a function used for inferencemay be performed in the DRAMs 3500 a and 3500 b. Here, the inference maybe performed in a deep learning algorithm using an artificial neuralnetwork. The deep learning algorithm may include a training operation oftraining a model through various data and an inference operation ofrecognizing data with the trained model. In an embodiment, an imagecaptured by the user through the camera 3100 is signal-processed andstored in the DRAM 3500 b, and the accelerator block or accelerator chip3820 may perform AI data operation of recognizing data using the datastored in the DRAM 3500 b and the function used for inference.

The system 3000 may include a plurality of storage devices having alarger capacity than those of the DRAMs 3500 a and 3500 b or a pluralityof flash memories 3600 a and 3600 b. The accelerator block oraccelerator chip 3820 may perform the training operation and AI dataoperation by using the flash memory devices 3600 a and 3600 b. In anembodiment, the flash memories 3600 a and 3600 b may use an operationunit included in the memory controller 3610 to more efficiently performthe training operation and the inference AI data operation performed bythe AP 3800 and/or the accelerator chip 3820. The flash memories 3600 aand 3600 b may store pictures taken through the camera 3100 or datatransmitted through a data network. For example, the flash memories 3600a and 3600 b may store augmented reality/virtual reality, highdefinition (HD), or ultra high definition (UHD) content.

The system 3000 may transmit or receive signals for high-speed operationbetween components. The camera 3100, the display 3200, the audioprocessor 3300, the modem 3400, the DRAMs 3500 a and 3500 b, the flashmemories 3600 a and 3600 b, the I/O devices 3700 a and 3700 b and/or theAP 3800 in the system 3000 may include the transmitter 110 and thereceiver 120 described with reference to FIGS. 1 to 19 . The transmitter110 includes an encoder that converts data bursts to be transmittedthrough a data bus into codewords including a plurality of symbols. Theencoder is configured to encode the data bursts into a codewordcorresponding to the data bursts using codeword mappings having a lowminimum DC current (MDC) cost related to minimum power consumption ofthe plurality of symbols among maximum transition avoidance (MTA)codeword mappings in which no maximum transition (MT) event occursbetween the plurality of symbols. The encoder may provide MTA codewordmappings where no MT event occurs in a block boundary between codewords.In a symmetric ODT state in which an ODT state between the transmitter110 and the receiver 120 connected to the data bus is the same, theencoder may transmit a first codeword through the data bus, and, in anasymmetric ODT state in which the ODT state is different, may invert anMSB bit among symbol bits of the first codeword, and transmit a secondcodeword including the inverted MSB symbol bit through the data bus.

The receiver 120 includes a decoder that receives codewords including aplurality of symbols through a data bus, and recovers the receivedcodewords into data bursts. The decoder may be configured to decodecodewords into data bursts corresponding to a codeword using MTAcodeword mappings in which no MT event occurs between the plurality ofsymbols and MDC codeword mappings related to minimum power consumptionof the plurality of symbols. In the symmetric ODT state in which the ODTstate between the transmitter 110 and the receiver 120 connected to thedata bus is the same, the decoder may receive the first codeword andrecover the first codeword as the data bursts, and, in the asymmetricODT state in which the ODT state is different, may invert the MSB bitamong symbol bits of the received first codeword, and recover the secondcodeword including the inverted MSB symbol bit as the data bursts.

While the inventive concept has been particularly shown and describedwith reference to embodiments thereof, it will be understood thatvarious changes in form and details may be made therein withoutdeparting from the spirit and scope of the following claims.

What is claimed is:
 1. An apparatus comprising: a transmitter connectedto a data bus, wherein the transmitter comprises an encoder configuredto convert data bursts to be transmitted through the data bus intocodewords each comprising a plurality of symbols, wherein the encoder isconfigured to encode the data bursts into a codeword corresponding tothe data bursts using maximum transition avoidance (MTA) codewordmappings in which no maximum transition (MT) event occurs between theplurality of symbols and minimum DC current (MDC) codeword mappingsrelated to minimum power consumption of the plurality of symbols,wherein the encoder is configured to invert a current one of thecodewords when it is determined that the MT event occurs in a blockboundary between the current codeword and a previous one of thecodewords, wherein the encoder is further configured to provide the MTAcodeword mappings in which no MT event occurs in the block boundarybetween the codewords, to the data bus.
 2. The apparatus of claim 1,wherein the encoder is further configured to invert a current codewordamong the codewords and transmit the inverted current codeword throughthe data bus when the MT event occurs between a last symbol of aprevious codeword among the codewords and a first symbol of the currentcodeword in a block boundary between the codewords.
 3. The apparatus ofclaim 1, wherein the encoder is further configured to invert thecodeword and transmit the inverted current codeword through the data buswhen a least significant bit (LSB) value among symbol bits of thecodeword is a certain value.
 4. The apparatus of claim 3, wherein theencoder is further configured to transmit a first codeword among thecodewords through the data bus in a symmetric on-die-termination (ODT)state in which an ODT state of a receiver connected to the data bus isthe same as an ODT state of the transmitter.
 5. The apparatus of claim4, wherein the encoder is further configured to invert a mostsignificant bit (MSB) among symbol bits of the first codeword andtransmit a second codeword among the codewords comprising the invertedMSB in an asymmetric on-die-termination (ODT) state in which the ODTstate of the receiver is different from the ODT state of thetransmitter.
 6. An apparatus comprising: a transmitter connected to adata bus, wherein the transmitter comprises an encoder configured toconvert data bursts to be transmitted through the data bus intocodewords each comprising a plurality of symbols, wherein the encodercomprises: a logic circuit representing correlations between the databursts and the codewords, wherein the logic circuit comprises codewordmappings related to operation requirements of the encoder, wherein theoperation requirements of the encoder comprise a maximum transitionavoidance (MTA) requirement between the plurality of symbols and aminimum DC current (MDC) requirement related to minimum powerconsumption of the plurality of symbols; an encoding circuit configuredto provide the codewords corresponding to the data bursts to the databus using the logic circuit; and an output buffer configured to transmita first codeword among the codewords through the data bus in a symmetricon-die-termination (ODT) state in which an ODT state of a receiverconnected to the data bus is the same as an ODT state of thetransmitter, wherein the encoder is configured to provide a lookup tableto split 16-bits of the data bursts into two half-data bursts, send a1-bit value in each of 8-bits of the half-data bursts to a data businversion (DBI) signal line to encode a pair of 1-bit values into asymbol of the DBI signal line, perform 7:8-bit encoding on remaining7-bits of each of the half-data bursts, generate codewords comprisingfour symbols having at least four levels according to the 7:8-bitencoding, and set a block boundary between the codewords with respect tothe half-data bursts.
 7. The apparatus of claim 6, wherein the logiccircuit comprises: a first lookup table supporting the MTA requirement;a second lookup table supporting the MDC requirement; and a third lookuptable supporting both the MTA requirement and the MDC requirement,wherein each of the symbols of a codeword among the codewords has one ofa −3 level, a −1 level, a +1 level or a +3 level, the +3 level being ahighest current level and the −3 level being a lowest current level. 8.The apparatus of claim 7, wherein the third lookup table comprisescodeword mappings according to symbol encoding of the −3 level, −1level, or +1 level without the +3 level in the symbols of each codeword,wherein no maximum transition (MT) event from the −3 level to the +3level or from the level +3 to the level −3 occurs between the symbols ofeach codeword.
 9. The apparatus of claim 8, wherein the first lookuptable comprises the codeword mappings in which no MT event occursbetween the symbols of each codeword and no MT event occurs in a blockboundary.
 10. The apparatus of claim 8, wherein the second lookup tablecomprises the codeword mappings in which the MT event between thesymbols is present two times or one time by allowing the MT eventbetween the symbols of each codeword up to two times.
 11. The apparatusof claim 8, wherein the logic circuit further comprises a fourth lookuptable partially supporting the MTA requirement and the MDC requirement.12. The apparatus of claim 11, wherein the fourth lookup table comprisescodeword mappings in which no MT event occurs between the symbols ofeach codeword and the MT event is allowed in a block boundary.
 13. Theapparatus of claim 11, wherein the fourth lookup table comprises thecodeword mappings in which the MT event between the symbols is presentone time or is not present by allowing the MT event between the symbolsof each codeword up to one time.
 14. The apparatus of claim 6, whereinthe encoding circuit is further configured to invert a current codewordamong the codewords and transmit the inverted current codeword through adata bus when the MT event occurs between a last symbol of a previouscodeword among the codewords and a first symbol of the current codewordin the block boundary.
 15. The apparatus of claim 6, wherein the encoderis further configured to invert a most significant bit (MSB) amongsymbol bits of the first codeword and generate a second codeword amongthe codewords comprising the inverted MSB in an asymmetricon-die-termination (ODT) state in which the ODT state of the receiver isdifferent from the ODT state of the transmitter, and wherein the outputbuffer is further configured to transmit the second codeword through thedata bus.
 16. The apparatus of claim 6, wherein the apparatus comprisesa memory controller configured to transmit write data to be transmittedas a given one of the codewords to a memory device connected to a dataline.
 17. The apparatus of claim 6, wherein the apparatus comprises amemory device configured to transmit read data to be transmitted as agiven one of the codewords to a memory controller connected to a dataline.